<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>LS.CompositePattern</title>
    <link rel="stylesheet" href="http://yui.yahooapis.com/3.9.1/build/cssgrids/cssgrids-min.css">
    <link rel="stylesheet" href="../assets/vendor/prettify/prettify-min.css">
    <link rel="stylesheet" href="../assets/css/main.css" id="site_styles">
    <link rel="icon" href="../assets/favicon.ico">
    <script src="http://yui.yahooapis.com/combo?3.9.1/build/yui/yui-min.js"></script>
</head>
<body class="yui3-skin-sam">

<div id="doc">
    <div id="hd" class="yui3-g header">
        <div class="yui3-u-3-4">
                <h1><img src="../assets/css/logo.png" title="" width="117" height="52"></h1>
        </div>
        <div class="yui3-u-1-4 version">
            <em>API Docs for: </em>
        </div>
    </div>
    <div id="bd" class="yui3-g">

        <div class="yui3-u-1-4">
            <div id="docs-sidebar" class="sidebar apidocs">
                <div id="api-list">
                    <h2 class="off-left">APIs</h2>
                    <div id="api-tabview" class="tabview">
                        <ul class="tabs">
                            <li><a href="#api-classes">Classes</a></li>
                            <li><a href="#api-modules">Modules</a></li>
                        </ul>
                
                        <div id="api-tabview-filter">
                            <input type="search" id="api-filter" placeholder="Type to filter APIs">
                        </div>
                
                        <div id="api-tabview-panel">
                            <ul id="api-classes" class="apis classes">
                                <li><a href="../classes/LS.Animation.html">LS.Animation</a></li>
                                <li><a href="../classes/LS.Animation.Take.html">LS.Animation.Take</a></li>
                                <li><a href="../classes/LS.Animation.Track.html">LS.Animation.Track</a></li>
                                <li><a href="../classes/LS.BaseComponent.html">LS.BaseComponent</a></li>
                                <li><a href="../classes/LS.Collision.html">LS.Collision</a></li>
                                <li><a href="../classes/LS.ComponentContainer.html">LS.ComponentContainer</a></li>
                                <li><a href="../classes/LS.Components.Camera.html">LS.Components.Camera</a></li>
                                <li><a href="../classes/LS.Components.CameraController.html">LS.Components.CameraController</a></li>
                                <li><a href="../classes/LS.Components.CameraDirector.html">LS.Components.CameraDirector</a></li>
                                <li><a href="../classes/LS.Components.CameraFX.html">LS.Components.CameraFX</a></li>
                                <li><a href="../classes/LS.Components.Canvas3D.html">LS.Components.Canvas3D</a></li>
                                <li><a href="../classes/LS.Components.CustomData.html">LS.Components.CustomData</a></li>
                                <li><a href="../classes/LS.Components.FollowNode.html">LS.Components.FollowNode</a></li>
                                <li><a href="../classes/LS.Components.FrameFX.html">LS.Components.FrameFX</a></li>
                                <li><a href="../classes/LS.Components.FXGraphComponent.html">LS.Components.FXGraphComponent</a></li>
                                <li><a href="../classes/LS.Components.FXStack.html">LS.Components.FXStack</a></li>
                                <li><a href="../classes/LS.Components.GeometricPrimitive.html">LS.Components.GeometricPrimitive</a></li>
                                <li><a href="../classes/LS.Components.GraphComponent.html">LS.Components.GraphComponent</a></li>
                                <li><a href="../classes/LS.Components.Light.html">LS.Components.Light</a></li>
                                <li><a href="../classes/LS.Components.LightFX.html">LS.Components.LightFX</a></li>
                                <li><a href="../classes/LS.Components.LinesRenderer.html">LS.Components.LinesRenderer</a></li>
                                <li><a href="../classes/LS.Components.MeshRenderer.html">LS.Components.MeshRenderer</a></li>
                                <li><a href="../classes/LS.Components.NodeManipulator.html">LS.Components.NodeManipulator</a></li>
                                <li><a href="../classes/LS.Components.ParticlesEmissor.html">LS.Components.ParticlesEmissor</a></li>
                                <li><a href="../classes/LS.Components.PlayAnimation.html">LS.Components.PlayAnimation</a></li>
                                <li><a href="../classes/LS.Components.Poser.html">LS.Components.Poser</a></li>
                                <li><a href="../classes/LS.Components.RealtimeReflector.html">LS.Components.RealtimeReflector</a></li>
                                <li><a href="../classes/LS.Components.Rotator.html">LS.Components.Rotator</a></li>
                                <li><a href="../classes/LS.Components.SceneInclude.html">LS.Components.SceneInclude</a></li>
                                <li><a href="../classes/LS.Components.Script.html">LS.Components.Script</a></li>
                                <li><a href="../classes/LS.Components.SkinDeformer.html">LS.Components.SkinDeformer</a></li>
                                <li><a href="../classes/LS.Components.Skybox.html">LS.Components.Skybox</a></li>
                                <li><a href="../classes/LS.Components.Spline.html">LS.Components.Spline</a></li>
                                <li><a href="../classes/LS.Components.SVGRenderer.html">LS.Components.SVGRenderer</a></li>
                                <li><a href="../classes/LS.Components.Target.html">LS.Components.Target</a></li>
                                <li><a href="../classes/LS.Components.Transform.html">LS.Components.Transform</a></li>
                                <li><a href="../classes/LS.Components.VRCameraController.html">LS.Components.VRCameraController</a></li>
                                <li><a href="../classes/LS.CompositePattern.html">LS.CompositePattern</a></li>
                                <li><a href="../classes/LS.DebugRender.html">LS.DebugRender</a></li>
                                <li><a href="../classes/LS.Draw.html">LS.Draw</a></li>
                                <li><a href="../classes/LS.Formats.html">LS.Formats</a></li>
                                <li><a href="../classes/LS.GLSLCode.html">LS.GLSLCode</a></li>
                                <li><a href="../classes/LS.GraphCode.html">LS.GraphCode</a></li>
                                <li><a href="../classes/LS.GUI.html">LS.GUI</a></li>
                                <li><a href="../classes/LS.Input.html">LS.Input</a></li>
                                <li><a href="../classes/LS.InteractiveController.html">LS.InteractiveController</a></li>
                                <li><a href="../classes/LS.Knob.html">LS.Knob</a></li>
                                <li><a href="../classes/LS.LS.html">LS.LS</a></li>
                                <li><a href="../classes/LS.LScript.html">LS.LScript</a></li>
                                <li><a href="../classes/LS.Material.html">LS.Material</a></li>
                                <li><a href="../classes/LS.oldStandardMaterial.html">LS.oldStandardMaterial</a></li>
                                <li><a href="../classes/LS.Pack.html">LS.Pack</a></li>
                                <li><a href="../classes/LS.Particle.html">LS.Particle</a></li>
                                <li><a href="../classes/LS.Physics.html">LS.Physics</a></li>
                                <li><a href="../classes/LS.PhysicsInstance.html">LS.PhysicsInstance</a></li>
                                <li><a href="../classes/LS.Picking.html">LS.Picking</a></li>
                                <li><a href="../classes/LS.Player.html">LS.Player</a></li>
                                <li><a href="../classes/LS.Prefab.html">LS.Prefab</a></li>
                                <li><a href="../classes/LS.Project.html">LS.Project</a></li>
                                <li><a href="../classes/LS.Ray.html">LS.Ray</a></li>
                                <li><a href="../classes/LS.Renderer.html">LS.Renderer</a></li>
                                <li><a href="../classes/LS.RenderFrameContext.html">LS.RenderFrameContext</a></li>
                                <li><a href="../classes/LS.RenderInstance.html">LS.RenderInstance</a></li>
                                <li><a href="../classes/LS.RenderSettings.html">LS.RenderSettings</a></li>
                                <li><a href="../classes/LS.RenderState.html">LS.RenderState</a></li>
                                <li><a href="../classes/LS.Resource.html">LS.Resource</a></li>
                                <li><a href="../classes/LS.ResourcesManager.html">LS.ResourcesManager</a></li>
                                <li><a href="../classes/LS.Scene.html">LS.Scene</a></li>
                                <li><a href="../classes/LS.SceneNode.html">LS.SceneNode</a></li>
                                <li><a href="../classes/LS.ShaderBlock.html">LS.ShaderBlock</a></li>
                                <li><a href="../classes/LS.ShaderCode.html">LS.ShaderCode</a></li>
                                <li><a href="../classes/LS.ShaderGraph.html">LS.ShaderGraph</a></li>
                                <li><a href="../classes/LS.ShaderMaterial.html">LS.ShaderMaterial</a></li>
                                <li><a href="../classes/LS.Shaders.html">LS.Shaders</a></li>
                                <li><a href="../classes/LS.SpatialContainer.html">LS.SpatialContainer</a></li>
                                <li><a href="../classes/LS.StandardMaterial.html">LS.StandardMaterial</a></li>
                                <li><a href="../classes/LS.Tween.html">LS.Tween</a></li>
                                <li><a href="../classes/LS.UnityMaterial.html">LS.UnityMaterial</a></li>
                                <li><a href="../classes/LS.WBin.html">LS.WBin</a></li>
                                <li><a href="../classes/LSQ.html">LSQ</a></li>
                            </ul>
                
                
                            <ul id="api-modules" class="apis modules">
                                <li><a href="../modules/LS.html">LS</a></li>
                            </ul>
                        </div>
                    </div>
                </div>
            </div>
        </div>
        <div class="yui3-u-3-4">
                <div id="api-options">
                    Show:
                    <label for="api-show-inherited">
                        <input type="checkbox" id="api-show-inherited" checked>
                        Inherited
                    </label>
            
                    <label for="api-show-protected">
                        <input type="checkbox" id="api-show-protected">
                        Protected
                    </label>
            
                    <label for="api-show-private">
                        <input type="checkbox" id="api-show-private">
                        Private
                    </label>
                    <label for="api-show-deprecated">
                        <input type="checkbox" id="api-show-deprecated">
                        Deprecated
                    </label>
            
                </div>
            
            <div class="apidocs">
                <div id="docs-main">
                    <div class="content">
<h1>LS.CompositePattern Class</h1>
<div class="box meta">


        <div class="foundat">
            Defined in: <a href="../files/.._src_compositePattern.js.html#l2"><code>..&#x2F;src&#x2F;compositePattern.js:2</code></a>
        </div>

            Module: <a href="../modules/LS.html">LS</a>

</div>


<div class="box intro">
    <p>CompositePattern implements the Composite Pattern, which allows to one class to contain instances of its own class
creating a tree-like structure.</p>

</div>

    <div class="constructor">
        <h2>Constructor</h2>
<div id="method_LS.CompositePattern" class="method item">
    <h3 class="name"><code>LS.CompositePattern</code></h3>

        <span class="paren">()</span>








    <div class="meta">
                <p>
                Defined in
        <a href="../files/.._src_compositePattern.js.html#l2"><code>..&#x2F;src&#x2F;compositePattern.js:2</code></a>
        </p>



    </div>

    <div class="description">
        
    </div>




</div>
    </div>

<div id="classdocs" class="tabview">
    <ul class="api-class-tabs">
        <li class="api-class-tab index"><a href="#index">Index</a></li>

            <li class="api-class-tab methods"><a href="#methods">Methods</a></li>
    </ul>

    <div>
        <div id="index" class="api-class-tabpanel index">
            <h2 class="off-left">Item Index</h2>

                <div class="index-section methods">
                    <h3>Methods</h3>

                    <ul class="index-list methods">
                            <li class="index-item method">
                                <a href="#method_addChild">addChild</a>

                            </li>
                            <li class="index-item method">
                                <a href="#method_configureChildren">configureChildren</a>

                            </li>
                            <li class="index-item method">
                                <a href="#method_findNode">findNode</a>

                            </li>
                            <li class="index-item method">
                                <a href="#method_findNodeByName">findNodeByName</a>

                            </li>
                            <li class="index-item method">
                                <a href="#method_findNodeByUId">findNodeByUId</a>

                            </li>
                            <li class="index-item method">
                                <a href="#method_getChildByIndex">getChildByIndex</a>

                            </li>
                            <li class="index-item method">
                                <a href="#method_getChildByName">getChildByName</a>

                            </li>
                            <li class="index-item method">
                                <a href="#method_getChildIndex">getChildIndex</a>

                            </li>
                            <li class="index-item method">
                                <a href="#method_getChildren">getChildren</a>

                            </li>
                            <li class="index-item method">
                                <a href="#method_getDescendants">getDescendants</a>

                            </li>
                            <li class="index-item method">
                                <a href="#method_getHierarchyLevel">getHierarchyLevel</a>

                            </li>
                            <li class="index-item method">
                                <a href="#method_getParent">getParent</a>

                            </li>
                            <li class="index-item method">
                                <a href="#method_getPathName">getPathName</a>

                            </li>
                            <li class="index-item method">
                                <a href="#method_moveAfter">moveAfter</a>

                            </li>
                            <li class="index-item method">
                                <a href="#method_moveBefore">moveBefore</a>

                            </li>
                            <li class="index-item method">
                                <a href="#method_removeAllChildren">removeAllChildren</a>

                            </li>
                            <li class="index-item method">
                                <a href="#method_removeChild">removeChild</a>

                            </li>
                            <li class="index-item method">
                                <a href="#method_serializeChildren">serializeChildren</a>

                            </li>
                    </ul>
                </div>



        </div>

            <div id="methods" class="api-class-tabpanel">
                <h2 class="off-left">Methods</h2>

<div id="method_addChild" class="method item">
    <h3 class="name"><code>addChild</code></h3>

        <div class="args">
            <span class="paren">(</span><ul class="args-list inline commas">
                <li class="arg">
                        <code>child</code>
                </li>
                <li class="arg">
                        <code>index</code>
                </li>
                <li class="arg">
                        <code>options</code>
                </li>
            </ul><span class="paren">)</span>
        </div>








    <div class="meta">
                <p>
                Defined in
        <a href="../files/.._src_compositePattern.js.html#l28"><code>..&#x2F;src&#x2F;compositePattern.js:28</code></a>
        </p>



    </div>

    <div class="description">
        <p>Adds one child to this instance</p>

    </div>

        <div class="params">
            <h4>Parameters:</h4>

            <ul class="params-list">
                <li class="param">
                        <code class="param-name">child</code>
                        <span class="type"></span>


                    <div class="param-description">
                         
                    </div>

                </li>
                <li class="param">
                        <code class="param-name">index</code>
                        <span class="type">Number</span>


                    <div class="param-description">
                        <p>[optional]  in which position you want to insert it, if not specified it goes to the last position</p>

                    </div>

                </li>
                <li class="param">
                        <code class="param-name">options</code>
                        <span class="type"></span>


                    <div class="param-description">
                        <p>[optional] data to be passed when adding it, used for special cases when moving nodes around</p>

                    </div>

                </li>
            </ul>
        </div>



</div>
<div id="method_configureChildren" class="method item">
    <h3 class="name"><code>configureChildren</code></h3>

        <span class="paren">()</span>

        <span class="returns-inline">
            <span class="type">Array</span>
        </span>







    <div class="meta">
                <p>
                Defined in
        <a href="../files/.._src_compositePattern.js.html#l206"><code>..&#x2F;src&#x2F;compositePattern.js:206</code></a>
        </p>



    </div>

    <div class="description">
        <p>Configure every children with the data</p>

    </div>


        <div class="returns">
            <h4>Returns:</h4>

            <div class="returns-description">
                        <span class="type">Array</span>:
                    <p>o array containing all serialized data</p>

            </div>
        </div>


</div>
<div id="method_findNode" class="method item">
    <h3 class="name"><code>findNode</code></h3>

        <div class="args">
            <span class="paren">(</span><ul class="args-list inline commas">
                <li class="arg">
                        <code>name_or_uid</code>
                </li>
            </ul><span class="paren">)</span>
        </div>

        <span class="returns-inline">
            <span class="type">SceneNode</span>
        </span>







    <div class="meta">
                <p>
                Defined in
        <a href="../files/.._src_compositePattern.js.html#l441"><code>..&#x2F;src&#x2F;compositePattern.js:441</code></a>
        </p>



    </div>

    <div class="description">
        <p>Search for a node using a string that could be a name, a fullname or a uid</p>

    </div>

        <div class="params">
            <h4>Parameters:</h4>

            <ul class="params-list">
                <li class="param">
                        <code class="param-name">name_or_uid</code>
                        <span class="type">String</span>


                    <div class="param-description">
                         
                    </div>

                </li>
            </ul>
        </div>

        <div class="returns">
            <h4>Returns:</h4>

            <div class="returns-description">
                        <span class="type">SceneNode</span>:
                    <p>the node or null</p>

            </div>
        </div>


</div>
<div id="method_findNodeByName" class="method item">
    <h3 class="name"><code>findNodeByName</code></h3>

        <div class="args">
            <span class="paren">(</span><ul class="args-list inline commas">
                <li class="arg">
                        <code>name</code>
                </li>
            </ul><span class="paren">)</span>
        </div>

        <span class="returns-inline">
            <span class="type">SceneNode</span>
        </span>







    <div class="meta">
                <p>
                Defined in
        <a href="../files/.._src_compositePattern.js.html#l458"><code>..&#x2F;src&#x2F;compositePattern.js:458</code></a>
        </p>



    </div>

    <div class="description">
        <p>search a node by its name
this function gets called a lot when using animations</p>

    </div>

        <div class="params">
            <h4>Parameters:</h4>

            <ul class="params-list">
                <li class="param">
                        <code class="param-name">name</code>
                        <span class="type">String</span>


                    <div class="param-description">
                         
                    </div>

                </li>
            </ul>
        </div>

        <div class="returns">
            <h4>Returns:</h4>

            <div class="returns-description">
                        <span class="type">SceneNode</span>:
                    <p>the node or null</p>

            </div>
        </div>


</div>
<div id="method_findNodeByUId" class="method item">
    <h3 class="name"><code>findNodeByUId</code></h3>

        <div class="args">
            <span class="paren">(</span><ul class="args-list inline commas">
                <li class="arg">
                        <code>id</code>
                </li>
            </ul><span class="paren">)</span>
        </div>

        <span class="returns-inline">
            <span class="type">SceneNode</span>
        </span>







    <div class="meta">
                <p>
                Defined in
        <a href="../files/.._src_compositePattern.js.html#l493"><code>..&#x2F;src&#x2F;compositePattern.js:493</code></a>
        </p>



    </div>

    <div class="description">
        <p>search a node by its uid</p>

    </div>

        <div class="params">
            <h4>Parameters:</h4>

            <ul class="params-list">
                <li class="param">
                        <code class="param-name">id</code>
                        <span class="type">String</span>


                    <div class="param-description">
                         
                    </div>

                </li>
            </ul>
        </div>

        <div class="returns">
            <h4>Returns:</h4>

            <div class="returns-description">
                        <span class="type">SceneNode</span>:
                    <p>the node or null</p>

            </div>
        </div>


</div>
<div id="method_getChildByIndex" class="method item">
    <h3 class="name"><code>getChildByIndex</code></h3>

        <div class="args">
            <span class="paren">(</span><ul class="args-list inline commas">
                <li class="arg">
                        <code>index</code>
                </li>
            </ul><span class="paren">)</span>
        </div>

        <span class="returns-inline">
            <span class="type">SceneNode</span>
        </span>







    <div class="meta">
                <p>
                Defined in
        <a href="../files/.._src_compositePattern.js.html#l267"><code>..&#x2F;src&#x2F;compositePattern.js:267</code></a>
        </p>



    </div>

    <div class="description">
        <p>Returns the child in the index position</p>

    </div>

        <div class="params">
            <h4>Parameters:</h4>

            <ul class="params-list">
                <li class="param">
                        <code class="param-name">index</code>
                        <span class="type">Number</span>


                    <div class="param-description">
                        <p>the index in the array</p>

                    </div>

                </li>
            </ul>
        </div>

        <div class="returns">
            <h4>Returns:</h4>

            <div class="returns-description">
                        <span class="type">SceneNode</span>:
                    <p>the child in that position</p>

            </div>
        </div>


</div>
<div id="method_getChildByName" class="method item">
    <h3 class="name"><code>getChildByName</code></h3>

        <div class="args">
            <span class="paren">(</span><ul class="args-list inline commas">
                <li class="arg">
                        <code>name</code>
                </li>
            </ul><span class="paren">)</span>
        </div>

        <span class="returns-inline">
            <span class="type">SceneNode</span>
        </span>







    <div class="meta">
                <p>
                Defined in
        <a href="../files/.._src_compositePattern.js.html#l278"><code>..&#x2F;src&#x2F;compositePattern.js:278</code></a>
        </p>



    </div>

    <div class="description">
        <p>Returns the child that matches that name</p>

    </div>

        <div class="params">
            <h4>Parameters:</h4>

            <ul class="params-list">
                <li class="param">
                        <code class="param-name">name</code>
                        <span class="type">String</span>


                    <div class="param-description">
                         
                    </div>

                </li>
            </ul>
        </div>

        <div class="returns">
            <h4>Returns:</h4>

            <div class="returns-description">
                        <span class="type">SceneNode</span>:
                    <p>the child with that name otherwise returns null;</p>

            </div>
        </div>


</div>
<div id="method_getChildIndex" class="method item">
    <h3 class="name"><code>getChildIndex</code></h3>

        <div class="args">
            <span class="paren">(</span><ul class="args-list inline commas">
                <li class="arg">
                        <code>child</code>
                </li>
            </ul><span class="paren">)</span>
        </div>

        <span class="returns-inline">
            <span class="type">Number</span>
        </span>







    <div class="meta">
                <p>
                Defined in
        <a href="../files/.._src_compositePattern.js.html#l256"><code>..&#x2F;src&#x2F;compositePattern.js:256</code></a>
        </p>



    </div>

    <div class="description">
        <p>returns the index of a child in the children array</p>

    </div>

        <div class="params">
            <h4>Parameters:</h4>

            <ul class="params-list">
                <li class="param">
                        <code class="param-name">child</code>
                        <span class="type">SceneNode</span>


                    <div class="param-description">
                        <p>the child to search for</p>

                    </div>

                </li>
            </ul>
        </div>

        <div class="returns">
            <h4>Returns:</h4>

            <div class="returns-description">
                        <span class="type">Number</span>:
                    <p>the index of this child in the array, if it is not inside returns -1</p>

            </div>
        </div>


</div>
<div id="method_getChildren" class="method item">
    <h3 class="name"><code>getChildren</code></h3>

        <div class="args">
            <span class="paren">(</span><ul class="args-list inline commas">
                <li class="arg">
                        <code>Original</code>
                </li>
            </ul><span class="paren">)</span>
        </div>








    <div class="meta">
                <p>
                Defined in
        <a href="../files/.._src_compositePattern.js.html#l246"><code>..&#x2F;src&#x2F;compositePattern.js:246</code></a>
        </p>



    </div>

    <div class="description">
        <p>returns a list with all direct children (if you want below that use getDescendants)</p>

    </div>

        <div class="params">
            <h4>Parameters:</h4>

            <ul class="params-list">
                <li class="param">
                        <code class="param-name">Original</code>
                        <span class="type">Array</span>


                    <div class="param-description">
                        <p>array containing the children</p>

                    </div>

                </li>
            </ul>
        </div>



</div>
<div id="method_getDescendants" class="method item">
    <h3 class="name"><code>getDescendants</code></h3>

        <span class="paren">()</span>

        <span class="returns-inline">
            <span class="type">Array</span>
        </span>







    <div class="meta">
                <p>
                Defined in
        <a href="../files/.._src_compositePattern.js.html#l352"><code>..&#x2F;src&#x2F;compositePattern.js:352</code></a>
        </p>



    </div>

    <div class="description">
        <p>get all nodes below this in the hierarchy (children and children of children)</p>

    </div>


        <div class="returns">
            <h4>Returns:</h4>

            <div class="returns-description">
                        <span class="type">Array</span>:
                    <p>array containing all descendants</p>

            </div>
        </div>


</div>
<div id="method_getHierarchyLevel" class="method item">
    <h3 class="name"><code>getHierarchyLevel</code></h3>

        <span class="paren">()</span>

        <span class="returns-inline">
            <span class="type">Number</span>
        </span>







    <div class="meta">
                <p>
                Defined in
        <a href="../files/.._src_compositePattern.js.html#l525"><code>..&#x2F;src&#x2F;compositePattern.js:525</code></a>
        </p>



    </div>

    <div class="description">
        <p>returns how many levels deep is the node in the hierarchy</p>

    </div>


        <div class="returns">
            <h4>Returns:</h4>

            <div class="returns-description">
                        <span class="type">Number</span>:
                    <p>the level, 0 if it is the root</p>

            </div>
        </div>


</div>
<div id="method_getParent" class="method item">
    <h3 class="name"><code>getParent</code></h3>

        <span class="paren">()</span>

        <span class="returns-inline">
            <span class="type">SceneNode</span>
        </span>







    <div class="meta">
                <p>
                Defined in
        <a href="../files/.._src_compositePattern.js.html#l235"><code>..&#x2F;src&#x2F;compositePattern.js:235</code></a>
        </p>



    </div>

    <div class="description">
        <p>Returns parent node</p>

    </div>


        <div class="returns">
            <h4>Returns:</h4>

            <div class="returns-description">
                        <span class="type">SceneNode</span>:
                    <p>parent node</p>

            </div>
        </div>


</div>
<div id="method_getPathName" class="method item">
    <h3 class="name"><code>getPathName</code></h3>

        <span class="paren">()</span>

        <span class="returns-inline">
            <span class="type">String</span>
        </span>







    <div class="meta">
                <p>
                Defined in
        <a href="../files/.._src_compositePattern.js.html#l296"><code>..&#x2F;src&#x2F;compositePattern.js:296</code></a>
        </p>



    </div>

    <div class="description">
        <p>Returns the path name of the node (a path name is a concatenation of the name of the nodes an its ancestors: &quot;root|parent|child&quot;</p>

    </div>


        <div class="returns">
            <h4>Returns:</h4>

            <div class="returns-description">
                        <span class="type">String</span>:
                    <p>the pathname</p>

            </div>
        </div>


</div>
<div id="method_moveAfter" class="method item">
    <h3 class="name"><code>moveAfter</code></h3>

        <div class="args">
            <span class="paren">(</span><ul class="args-list inline commas">
                <li class="arg">
                        <code>sibling</code>
                </li>
            </ul><span class="paren">)</span>
        </div>

        <span class="returns-inline">
            <span class="type">Number</span>
        </span>







    <div class="meta">
                <p>
                Defined in
        <a href="../files/.._src_compositePattern.js.html#l404"><code>..&#x2F;src&#x2F;compositePattern.js:404</code></a>
        </p>



    </div>

    <div class="description">
        <p>Swaps the index in the children array so it is before</p>

    </div>

        <div class="params">
            <h4>Parameters:</h4>

            <ul class="params-list">
                <li class="param">
                        <code class="param-name">sibling</code>
                        <span class="type">SceneNode</span>


                    <div class="param-description">
                        <p>[optional] allows to put after given node, otherwise it will be moved one position after current position</p>

                    </div>

                </li>
            </ul>
        </div>

        <div class="returns">
            <h4>Returns:</h4>

            <div class="returns-description">
                        <span class="type">Number</span>:
                    <p>new index</p>

            </div>
        </div>


</div>
<div id="method_moveBefore" class="method item">
    <h3 class="name"><code>moveBefore</code></h3>

        <div class="args">
            <span class="paren">(</span><ul class="args-list inline commas">
                <li class="arg">
                        <code>sibling</code>
                </li>
            </ul><span class="paren">)</span>
        </div>

        <span class="returns-inline">
            <span class="type">Number</span>
        </span>







    <div class="meta">
                <p>
                Defined in
        <a href="../files/.._src_compositePattern.js.html#l368"><code>..&#x2F;src&#x2F;compositePattern.js:368</code></a>
        </p>



    </div>

    <div class="description">
        <p>Swaps the index in the children array so it is before</p>

    </div>

        <div class="params">
            <h4>Parameters:</h4>

            <ul class="params-list">
                <li class="param">
                        <code class="param-name">sibling</code>
                        <span class="type">SceneNode</span>


                    <div class="param-description">
                        <p>[optional] allows to put before given node, otherwise it will be moved one position before of current position</p>

                    </div>

                </li>
            </ul>
        </div>

        <div class="returns">
            <h4>Returns:</h4>

            <div class="returns-description">
                        <span class="type">Number</span>:
                    <p>new index</p>

            </div>
        </div>


</div>
<div id="method_removeAllChildren" class="method item">
    <h3 class="name"><code>removeAllChildren</code></h3>

        <span class="paren">()</span>








    <div class="meta">
                <p>
                Defined in
        <a href="../files/.._src_compositePattern.js.html#l179"><code>..&#x2F;src&#x2F;compositePattern.js:179</code></a>
        </p>



    </div>

    <div class="description">
        <p>Remove every child node</p>

    </div>




</div>
<div id="method_removeChild" class="method item">
    <h3 class="name"><code>removeChild</code></h3>

        <div class="args">
            <span class="paren">(</span><ul class="args-list inline commas">
                <li class="arg">
                        <code>node</code>
                </li>
                <li class="arg">
                        <code>param1</code>
                </li>
                <li class="arg">
                        <code>param2</code>
                </li>
            </ul><span class="paren">)</span>
        </div>

        <span class="returns-inline">
            <span class="type">Boolean</span>
        </span>







    <div class="meta">
                <p>
                Defined in
        <a href="../files/.._src_compositePattern.js.html#l122"><code>..&#x2F;src&#x2F;compositePattern.js:122</code></a>
        </p>



    </div>

    <div class="description">
        <p>Removes the node from its parent (and from the scene tree)</p>

    </div>

        <div class="params">
            <h4>Parameters:</h4>

            <ul class="params-list">
                <li class="param">
                        <code class="param-name">node</code>
                        <span class="type">Node</span>


                    <div class="param-description">
                        <p>this child to remove</p>

                    </div>

                </li>
                <li class="param">
                        <code class="param-name">param1</code>
                        <span class="type"></span>


                    <div class="param-description">
                        <p>data passed to onChildRemoved</p>

                    </div>

                </li>
                <li class="param">
                        <code class="param-name">param2</code>
                        <span class="type"></span>


                    <div class="param-description">
                        <p>data passed to onChildRemoved as second parameter</p>

                    </div>

                </li>
            </ul>
        </div>

        <div class="returns">
            <h4>Returns:</h4>

            <div class="returns-description">
                        <span class="type">Boolean</span>:
                    <p>returns true if it was found and removed</p>

            </div>
        </div>


</div>
<div id="method_serializeChildren" class="method item">
    <h3 class="name"><code>serializeChildren</code></h3>

        <span class="paren">()</span>

        <span class="returns-inline">
            <span class="type">Array</span>
        </span>







    <div class="meta">
                <p>
                Defined in
        <a href="../files/.._src_compositePattern.js.html#l191"><code>..&#x2F;src&#x2F;compositePattern.js:191</code></a>
        </p>



    </div>

    <div class="description">
        <p>Serialize the data from all the children</p>

    </div>


        <div class="returns">
            <h4>Returns:</h4>

            <div class="returns-description">
                        <span class="type">Array</span>:
                    <p>array containing all serialized data from every children</p>

            </div>
        </div>


</div>
            </div>



    </div>
</div>
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>
<script src="../assets/vendor/prettify/prettify-min.js"></script>
<script>prettyPrint();</script>
<script src="../assets/js/yui-prettify.js"></script>
<script src="../assets/../api.js"></script>
<script src="../assets/js/api-filter.js"></script>
<script src="../assets/js/api-list.js"></script>
<script src="../assets/js/api-search.js"></script>
<script src="../assets/js/apidocs.js"></script>
</body>
</html>
